Graphical user interfaces simplify end user interaction with computer programs and are designed such that knowledge of specific commands and/or combinations of keystrokes is not required to efficiently and effectively use the computer program. Thus, a function can be carried out by the computer application, which owns the graphical user interface (GUI), by selecting or clicking with a mouse, a particular selection available in a GUI.
Graphical user interfaces often attempt to provide as much information as possible to a user. However, space is limited by the size of a display device that a user utilizes, such as a monitor, and/or by the size of an element within the GUI in which information is displayed to the user. Accordingly, techniques have been developed to convey to the end user that additional information logically exists beyond the edges of a window or other elements of the GUI being displayed at any given time. The techniques include a GUI action referred to as “scrolling” in which the displayed information is scrolled to show additional information previously not displayed. In computer terms, scrolling is the ability to move the element, displayed within the GUI, left and right or up and down on the display in order to view the element that cannot be included within a single display image.
In a typical window-based GUI system, a group of visually distinct display objects are provided on the display screen, and are commonly referred to as “icons”. Each of the icons represents a function or object, and may be configured as a pointer or symbol connecting the function or object to a file or contents. Presenting the file or contents to a user with a computer using multiple windows on a display device with a GUI is known in the art. The technique of using a pointing device, such as a mouse or a trackball to select data within the file before a function is applied to the data is also known in the art. Further, the method of using the pointing device to provide graphical input to the window is also well known.
However, as discussed above, these techniques present various difficulties including the fact that the information contained in the file is greater than what can be displayed in the window at one time. Similarly, the user may want to provide graphical input that exceeds the window size. Thus, some method must be employed to allow the user to use the pointing device to select or input information that exceeds the window boundaries.
One possible solution is to enlarge the window. However, this is useful only when the amount of data is less than the available window size. Another solution is to provide a visual device known as a scroll bar, which permits the user to navigate beyond the edges of the window boundaries.
These prior art solutions, however, are often limited and may not fully utilize the capabilities of the GUI system. For example, in situations where a sequence of images is to be scrolled, the GUI system may be incapable of processing the images fast enough to scroll and visually smoothly display all the images. In addition, it is desirable to provide a user interface that may be configured with a pointing device and method that enables a user to control the interface without reliance on a joystick, mouse or trackball for user interaction therewith.